<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <div id="box"></div>
    <div id="box1"></div>
    <script type="text/javascript" src="./js/react.development.js"></script>
    <!-- 提供了操作DOM的react扩展库 -->
    <script type="text/javascript" src="./js/react-dom.development.js"></script>
    <!-- 解析jsx语法的代码转换为js语法 -->
    <script type="text/javascript" src="./js/babel.min.js"></script>
    <script type="text/babel">
        // 创建组件 有两种 class类   构造函数
        // class类的创建方式
        // 创建组件
        /* class Component1 extends React.Component {
            render() {
                return <h1>class类写的第一个组件</h1>
            }
        } */
        class Component1 extends React.Component {
            render() {
                return (
                    <div>
                        <h1>class类写的第一个组件</h1>
                        <h1>class类写的第一个组件</h1>
                        <input type="text"/>
                    </div>
                )
            }
        }
        /* 
        注意项：
            1.组件的名字必须首字母大写
            2. 虚拟DOM元素只能有一个根元素
            3. 虚拟DOM元素必须有结束标签
            4.虚拟DOM元素有多个时需要使用小括号括住
         */

        // 将虚拟DOM渲染到真实DOM
        ReactDOM.render(<Component1/>,document.getElementById('box'));

        // 构造函数的创建
        // 第一步 创建组件
       /*  function Component2() {
            return <h1>工厂函数</h1>
        } */
        function Component2() {
            return (
                    <div>
                        <h1>工厂函数写的第一个组件</h1>
                        <h1>工厂函数写的第一个组件</h1>
                        <input type="text"/>
                    </div>
                )
        }
        // 第二步 渲染组件
        ReactDOM.render(<Component2/>,document.getElementById('box1'))

    </script>
</body>

</html>